// 导入必要的模块
const express = require('express');
const router = express.Router();
const characterController = require('../controllers/characterController');
const { authMiddleware, adminMiddleware, optionalAuthMiddleware } = require('../middleware/authMiddleware');

// 获取所有角色列表路由（不需要身份验证，但可选）
router.get('/', optionalAuthMiddleware, characterController.getAllCharacters);

// 获取角色详情路由（不需要身份验证，但可选）
router.get('/:id', optionalAuthMiddleware, characterController.getCharacterById);

// 创建新角色路由（需要管理员权限）
router.post('/', adminMiddleware, characterController.createCharacter);

// 更新角色信息路由（需要管理员权限）
router.put('/:id', adminMiddleware, characterController.updateCharacter);

// 删除角色路由（需要管理员权限）
router.delete('/:id', adminMiddleware, characterController.deleteCharacter);

// 获取所有角色分类路由（不需要身份验证）
router.get('/categories/all', characterController.getCharacterCategories);

// 搜索角色路由（不需要身份验证，但可选）
router.get('/search', optionalAuthMiddleware, characterController.searchCharacters);

// 导出路由
module.exports = router;